package org.domain.sigepac.session;

import java.util.List;

import org.domain.sigepac.Utils;
import org.domain.sigepac.Entity.Alfabetizador;
import org.domain.sigepac.repository.RepositorioAlfabetizador;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
import org.jboss.seam.international.StatusMessages;

@Name("alfabetizadorList")
@Scope(ScopeType.CONVERSATION)
public class AlfabetizadorList {


	@In
	RepositorioAlfabetizador repositorioAlfabetizador;

	@DataModel
	private List<Alfabetizador> listaAlfabetizadors;

	@DataModelSelection
	private Alfabetizador alfabetizador;

	@Out(required=false)
	private Alfabetizador alfabetizadorPesquisa;

	@In
	private StatusMessages statusMessages;

	private Integer paginacao=10;

	@Factory("listaAlfabetizadors")
	public void listar(){

		listaAlfabetizadors= repositorioAlfabetizador.listar();

	}

	public void apagar(){
		if(alfabetizador.getTurmas().size()==0){
			repositorioAlfabetizador.excluir(alfabetizador);
			Utils.entityManagerFlush();
			statusMessages.add("Alfabetizador exclu\u00eddo com sucesso!");
		}else
		{
			statusMessages.add("N\u00e3o foi poss\u00edvel excluir o Alfabetizador pois existem turmas vinculadas a ele");
		}
	}

	public void pesquisar(){
		listaAlfabetizadors=repositorioAlfabetizador.pesquisarPorNome(alfabetizadorPesquisa.getNome());
	}

	public Integer getPaginacao() {
		return paginacao;
	}

	public void setAlfabetizadorPesquisa(Alfabetizador alfabetizadorPesquisa) {
		this.alfabetizadorPesquisa = alfabetizadorPesquisa;
	}
	public Alfabetizador getAlfabetizadorPesquisa() {
		if(alfabetizadorPesquisa==null)
			alfabetizadorPesquisa=new Alfabetizador();
		return alfabetizadorPesquisa;
	}

}
